package java19_3_22_reflect;

/**
 * T和E表示两个泛型参数
 * @author 是阿秋啊
 * @date 2022/04/18 15:17
 **/
public class MyClass<T> {
    private T t1;
    //private E e2;

    // 返回值为泛型的普通方法
    public T getT1() {
        return t1;
    }

    // 参数类型为泛型的普通方法
    public void setT1(T t1) {
        this.t1 = t1;
    }

    /**
     * 这个才是泛型方法
     * @param t 参数类型为T
     * @param <T> 表示fun方法是一个泛型方法
     */
    public <T> void fun(T t) {

    }
    public static void main(String[] args) {
        MyClass<String> myClass = new MyClass<>();
        // 说明类泛型T和方法中的泛型T是不一样的
        myClass.setT1("123");
        myClass.fun(123);
    }
}
